// element - modern-normalize v3.0.1
*, ::before, ::after { box-sizing: border-box; }
html {
	font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	tab-size: 4;
}
body { margin: 0; }
b, strong { font-weight: bolder; }
code, kbd, samp, pre {
	font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
	font-size: 1em;
}
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
table { border-color: currentcolor; }
button, input, optgroup, select, textarea {
  font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0;
}
button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; }
legend { padding: 0; }
progress { vertical-align: baseline; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }

// element - customize
a {
  text-decoration: none; outline: none;
  &:active, &:hover { text-decoration: none; outline: none; }
  &[disabled] { color: #ccc; cursor: not-allowed; pointer-events: none; }
}
img:not([src]), img.error {
  display: inline-block;
  transform: scale(1);
  content: '';
  color: transparent;
  &::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    height: 100%;
    background: #f5f5f5 url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cpath d='M304.128 456.192c48.64 0 88.064-39.424 88.064-88.064s-39.424-88.064-88.064-88.064-88.064 39.424-88.064 88.064 39.424 88.064 88.064 88.064zm0-116.224c15.36 0 28.16 12.288 28.16 28.16s-12.288 28.16-28.16 28.16-28.16-12.288-28.16-28.16 12.288-28.16 28.16-28.16z' fill='%23e6e6e6'/%3E%3Cpath d='M887.296 159.744H136.704C96.768 159.744 64 192 64 232.448v559.104c0 39.936 32.256 72.704 72.704 72.704h198.144L500.224 688.64l-36.352-222.72 162.304-130.56-61.44 143.872 92.672 214.016-105.472 171.008h335.36C927.232 864.256 960 832 960 791.552V232.448c0-39.936-32.256-72.704-72.704-72.704zm-138.752 71.68v.512H857.6c16.384 0 30.208 13.312 30.208 30.208v399.872L673.28 408.064l75.264-176.64zM304.64 792.064H165.888c-16.384 0-30.208-13.312-30.208-30.208v-9.728l138.752-164.352 104.96 124.416-74.752 79.872zm81.92-355.84l37.376 228.864-.512.512-142.848-169.984c-3.072-3.584-9.216-3.584-12.288 0L135.68 652.8V262.144c0-16.384 13.312-30.208 30.208-30.208h474.624L386.56 436.224zm501.248 325.632c0 16.896-13.312 30.208-29.696 30.208H680.96l57.344-93.184-87.552-202.24 7.168-7.68 229.888 272.896z' fill='%23e6e6e6'/%3E%3C/svg%3E") no-repeat center / 60% 60%;
  }
  &::after {
    content: attr(alt);
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    line-height: 2;
    background-color: rgba(0,0,0,.25);
    color: white;
    font-size: 12px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
table{ table-layout: fixed; word-break: break-all; word-wrap:break-word; }

// scorller
/* 定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸 */
::-webkit-scrollbar { width: 6px; height: 6px; }
/* 定义滚动条轨道、滑块·内阴影+圆角 */
::-webkit-scrollbar-track,
::-webkit-scrollbar-thumb { -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, .3); border-radius: 2px; }

// public class
.clearfix{ zoom:1; clear: both; }
.clearfix:after {
  clear: both; content: " "; display: block; height: 0; overflow: hidden; line-height: 0; font-size: 0;
}
.fl{ float:left; }
.fr{ float:right; }
.hide { display: none; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.text-ellipsis-2 {
  overflow : hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.row-flex {
  display: flex;
  .row-flex-prefix { margin-right: .5em; }
  .row-flex-main {
    width: 0;
    flex-grow: 1;
    & + .row-flex-main { margin-left: .5em; }
  }
  .row-flex-suffix { margin-left: .5em; }
  &[align="center"] { align-items: center; }
}
